package cn.hairui.blog.service.manage;

import cn.hairui.blog.model.manage.MgrResc;
import cn.hairui.blog.model.manage.MgrRescmenu;

import java.util.List;
import java.util.Map;

/**
 * @author lihairui
 * @version V1.0
 * @date: 2019/8/4 11:56
 */
public interface ResourceService {

    /**
     * 获取要展示的菜单资源信息
     *
     * @return
     */
    List<MgrResc> listRescMgrShow();

    /**
     * 通过顶部资源获取左侧菜单信息
     *
     * @param rescId
     * @return
     */
    List<MgrRescmenu> findMgrRescmenuByrescId(String rescId);

    /**
     * 获取资源菜单数据
     *
     * @return
     */
    List<Map> listMgrRescMgr();

    /**
     * 添加导航资源
     *
     * @param mgrResc
     */
    void addMgrResc(MgrResc mgrResc);

    MgrResc findMgrResc(String rescId);

    /**
     * 更新导航菜单
     *
     * @param mgrResc
     */
    void updateMgrResc(MgrResc mgrResc);

    /**
     * 获取菜单资源内容（包含导航菜单）
     *
     * @return
     */
    List<Map> listMgrRescmenuMgr();

    /**
     * 通过上级资源编号和链接地址查询资源信息
     *
     * @param rescId
     * @param href
     * @return
     */
    MgrRescmenu findMgrRescmenu(String rescId, String href);

    /**
     * 添加资源菜单
     *
     * @param mgrRescmenu
     */
    void addMgrRescmenu(MgrRescmenu mgrRescmenu);

    void updateMgrRescmenu(MgrRescmenu mgrRescmenu);

    /**
     * 通过资源编号和连接地址删除资源菜单
     *
     * @param rescId
     * @param href
     */
    void deleteMgrRescmenu(String rescId, String href);

    /**
     * 通过资源编号删除导航资源信息
     *
     * @param rescId
     */
    void deleteMgrResc(String rescId);
}
